/*
 * Bullet.h
 *
 *  Created on: 2011/12/25
 *      Author: naoki
 */

#ifndef BULLET_H_
#define BULLET_H_

#include "NTEngine/Scene/Container.h"
#include "NTEngine/Scene/Model.h"

namespace NTEngine{
	namespace Math{
		class Matrix4x4;
		class Vector3;
	}
}
using namespace NTEngine::Math;

class Bullet{
public:
	Bullet();
	~Bullet();
	void create(
			NTEngine::Scene::Container,
		const char* batchName,
		const Vector3& position,
		float angleX,
		float angleY,
		bool homing );
	const Vector3* position() const;
	void update( const Vector3& enemyPos );
	void draw() const;
	bool isEmpty() const; //使ってなければtrue。mCount<0で判定
	void die(); //弾消えます
private:
	NTEngine::Scene::Model mModel;
	int mCount; //-1ならその弾は空だということにしよう。
	bool mHoming; //追尾する？

	static const float mHomingX; //角度誘導性能X
	static const float mHomingY; //角度誘導性能Y
	static const int mLife; //弾寿命
	static const float mSpeed; //弾の速度
};

#endif /* BULLET_H_ */
